typedef struct array array;
typedef enum {
	ArrayFlags__noslices = 1U, // u64(1) << 0
	ArrayFlags__noshrink = 2U, // u64(1) << 1
	ArrayFlags__nogrow = 4U, // u64(1) << 2
	ArrayFlags__nofree = 8U, // u64(1) << 3
}  ArrayFlags;
struct array {
	void* data;
	int offset;
	int len;
	int cap;
	ArrayFlags flags;
	int element_size;
};
typedef array Array___v_thread;
struct main__ThreadPool {
	Array___v_thread threads;
};
typedef struct main__ThreadPool main__ThreadPool;

main__ThreadPool* thread_create();
void thread_spawn(main__ThreadPool* tp, void (*)());
void thread_wait(main__ThreadPool* tp);